home *** CD-ROM | disk | FTP | other *** search
- '**************************************************************************
- '* Datapath TORNADO Setup Script
- '**************************************************************************
-
- ''' $DEFINE DEBUG ''Define for script development/debugging
- ''' $DEFINE AUTODETECT ''Define when autodetect of 2/4M Tornados implemented
-
- '$INCLUDE 'setupapi.inc'
- '$INCLUDE 'msdetect.inc'
- '$INCLUDE 'msshared.inc'
-
- DECLARE FUNCTION Is48MHzVersion LIB "insttor.dll" AS INTEGER
- '$IFDEF AUTODETECT
- DECLARE FUNCTION MemoryOnBoard LIB "insttor.dll" AS INTEGER
- '$ENDIF 'AUTODETECT
-
- ''Dialog ID's
- CONST WELCOME = 100
- CONST ASKQUIT = 200
- CONST DESTPATH = 300
- CONST EXITFAILURE = 400
- CONST EXITQUIT = 600
- CONST EXITSUCCESS = 700
- CONST OPTIONS = 800
- CONST APPHELP = 900
- CONST OPTHELP = 1000
- CONST VIDEOP = 1700
- CONST VIDEOHELP = 2000
- CONST MAGIDESK = 2100
- CONST WRONGDRVR = 2200
- CONST DRVRTHERE = 2300
- CONST BADPATH = 6400
- CONST MEMSIZEHLP = 1300
- CONST MEMSIZE = 2700
-
- ''Bitmap ID
- CONST LOGO = 1
-
- GLOBAL DEST$ ''Default destination directory.
- GLOBAL UtilsDest$ ''Default destination directory.
- GLOBAL SrcDir$
- GLOBAL ShareDir$
-
- DECLARE SUB Install (INSTVP%,MEDIA%)
- DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
-
- INIT:
- CUIDLL$ = "insttor.dll" ''Custom user interface dll
- HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
-
- SetBitmap CUIDLL$, LOGO
- SetTitle "Datapath TORNADO Installation V1.14"
-
- szInf$ = GetSymbolValue("STF_SRCINFPATH")
- IF szInf$ = "" THEN
- szInf$ = GetSymbolValue("STF_CWDDIR") + "TORNADO.INF"
- END IF
- ReadInfFile szInf$
-
- DEST$ = "C:\TORNADO"
- SERIAL_NO$ = "000001"
-
- '$IFDEF DEBUG
- i% = SetSizeCheckMode(scmOnIgnore) '' could use scmOff; def = scmOnFatal
- WinDrive$ = MID$(GetWindowsDir, 1, 1)
- IF IsDriveValid(WinDrive$) = 0 THEN
- i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
- GOTO QUIT
- END IF
- '$ENDIF ''DEBUG
-
-
- WELCOME:
- sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ELSE
- GOSUB ASKQUIT
- GOTO WELCOME
- END IF
-
-
- VIDEOPOWER:
-
- INSTVP% = 0
- sz$ = UIStartDlg(CUIDLL$, VIDEOP, "FInfoDlgProc", VIDEOHELP, HELPPROC$)
- IF sz$ = "CONTINUE" THEN
- INSTVP% = 1
- END IF
- UIPop 1
-
-
- GETMODEL:
-
- MEDIA% = 0
- '$IFDEF AUTODETECT
- IF (MemoryOnBoard=2) THEN
- MEDIA%=1
- END IF
- '$ENDIF 'AUTODETECT
-
- '' Alternatively we could use a dialog box to ask which model
- sz$ = UIStartDlg(CUIDLL$, MEMSIZE, "FInfoDlgProc", MEMSIZEHLP, HELPPROC$)
- IF sz$ <> "CONTINUE" THEN
- MEDIA% = 1
- END IF
- UIPop 1
-
- GETPATH:
- SetSymbolValue "EditTextIn", DEST$
- SetSymbolValue "EditFocus", "END"
- GETPATHL1:
- sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", OPTHELP, HELPPROC$)
- DEST$ = GetSymbolValue("EditTextOut")
-
- IF sz$ = "CONTINUE" THEN
- IF IsDirWritable(DEST$) = 0 THEN
- GOSUB BADPATH
- GOTO GETPATHL1
- END IF
- UIPop 1
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO GETPATHL1
- ELSEIF sz$ = "BACK" THEN
- UIPop 1
- GOTO VIDEOPOWER
- ELSE
- GOSUB ASKQUIT
- GOTO GETPATH
- END IF
-
- 'Check if user already running p9100 driver -- tut tut !
- '
- CHECKDRIVER:
- szWinDir$ = GetWindowsDir()
- szSrc$ = MAKEPATH(szWinDir,"system.ini")
- szDriver$ = GetIniKeyString(szSrc$,"boot","display.drv")
-
- IF (MID$(szDriver$, 2, 4) = "9100") THEN
- sz$ = UIStartDlg(CUIDLL$, WRONGDRVR, "FInfoDlgProc", 0,"")
- ' We exit on continue because this actually corresponds to yes on
- ' that dialog box - ie user wants to quit ! Tidy up later
- IF sz$ = "CONTINUE" THEN
- UIPop 1
- ERROR STFQUIT
- GOTO QUIT
- END IF
- UIPop 1
- END IF
-
- ISDRIVERTHERE:
- ShareDir$ = GetWindowsSysDir()
- szFile$ = MAKEPATH(ShareDir,"p91init.dll")
- IF DoesFileExist(szFile$,femExists) THEN
- sz$ = UIStartDlg(CUIDLL$, DRVRTHERE, "FInfoDlgProc", 0,"")
- ' We exit on continue because this actually corresponds to yes on
- ' that dialog box - ie user wants to delete existing drivers ! Tidy up later
- IF sz$ = "CONTINUE" THEN
- RemoveFile szFile$,cmoForce
- szFile$ = MAKEPATH(ShareDir,"p9100_08.drv")
- RemoveFile szFile$,cmoForce
- szFile$ = MAKEPATH(ShareDir,"p9100_16.drv")
- RemoveFile szFile$,cmoForce
- szFile$ = MAKEPATH(ShareDir,"p9100_24.drv")
- RemoveFile szFile$,cmoForce
- szFile$ = MAKEPATH(ShareDir,"p9100_32.drv")
- RemoveFile szFile$,cmoForce
- szFile$ = MAKEPATH(ShareDir,"vddp9100.386")
- RemoveFile szFile$,cmoForce
- END IF
- END IF
- UIPop 1
-
-
- Install INSTVP%, MEDIA%
-
-
- QUIT:
- ON ERROR GOTO ERRQUIT
-
- IF ERR = 0 THEN
- dlg% = MAGIDESK
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- UIPop 1
-
- dlg% = EXITSUCCESS
- ELSEIF ERR = STFQUIT THEN
- dlg% = EXITQUIT
- ELSE
- dlg% = EXITFAILURE
- END IF
- QUITL1:
- sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO QUITL1
- END IF
- UIPop 1
-
- END
-
- ERRQUIT:
- i% = DoMsgBox("Setup sources were corrupted, call (0)332-294441!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
- END
-
-
-
- BADPATH:
- sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
- IF sz$ = "REACTIVATE" THEN
- GOTO BADPATH
- END IF
- UIPop 1
- RETURN
-
-
-
- ASKQUIT:
- sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
-
- IF sz$ = "EXIT" THEN
- UIPopAll
- ERROR STFQUIT
- ELSEIF sz$ = "REACTIVATE" THEN
- GOTO ASKQUIT
- ELSE
- UIPop 1
- END IF
- RETURN
-
-
-
- '**
- '** Purpose:
- '** Builds the copy list and performs all installation operations.
- '** Arguments:
- '** none.
- '** Returns:
- '** none.
- '*************************************************************************
- SUB Install (INSTVP% , MEDIA% ) STATIC
-
- SrcDir$ = GetSymbolValue("STF_SRCDIR")
- CreateDir DEST$, cmoNone
-
- ShareDir$ = GetWindowsSysDir()
-
- SetCopyGaugePosition 40,71
-
- AddSectionFilesToCopyList "Files", SrcDir$, DEST$
- AddSectionFilesToCopyList "windows", SrcDir$, DEST$
- AddSectionFilesToCopyList "DCI", SrcDir$, DEST$
- AddSectionFilesToCopyList "magidesk", SrcDir$, DEST$
-
- IF (MEDIA%) THEN
- AddSectionFilesToCopyList "MEDIA", SrcDir$, DEST$
- ELSE
- AddSectionFilesToCopyList "NORMAL", SrcDir$, DEST$
- END IF
-
- CopyFilesInCopyList
-
- szWinDir$ = GetWindowsDir()
-
- AddSectionFilesToCopyList "ScreenSaver", SrcDir$, szWinDir$
-
- CopyFilesInCopyList
-
- AddSectionFilesToCopyList "onlywinsys", SrcDir$, ShareDir$
- AddSectionFilesToCopyList "DCI", SrcDir$, DEST$
-
- CopyFilesInCopyList
-
-
- UtilsDest$ = MAKEPATH(DEST$,"utils")
- AddSectionFilesToCopyList "pciutils", SrcDir$, UtilsDest$
- CopyFilesInCopyList
-
-
-
- szGroup$ = "DATAPATH"
- szPath$ = ""
-
- CreateProgmanGroup szGroup$,szPath$,cmoNone
-
- szItem$ = "Tornado Monitor Setup"
- szCmd$ = MAKEPATH(DEST$,"tmonitor.EXE")
- szOther$ = ""
-
- CreateProgmanItem szGroup$,szItem$,szCmd$,szOther,cmoOverwrite
-
- szItem$ = "Tornado Control"
- szCmd$ = MAKEPATH(DEST$,"tornadoc.EXE")
- szOther$ = ""
-
- CreateProgmanItem szGroup$,szItem$,szCmd$,szOther,cmoOverwrite
-
- szItem$ = "MagiDesk"
- szCmd$ = MAKEPATH(DEST$,"magidesk.EXE")
- szOther$ = ""
-
- CreateProgmanItem szGroup$,szItem$,szCmd$,szOther,cmoOverwrite
-
-
- '*************************************************************************
- ' Copy REQUIRED files to windows dir
- '*************************************************************************
- szSrc$ = MAKEPATH(DEST$,"tornado.bmp")
- szDest$ = MAKEPATH(szWinDir,"tornado.bmp")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- szSrc$ = MAKEPATH(DEST$,"tornadoc.hlp")
- szDest$ = MAKEPATH(szWinDir,"tornadoc.hlp")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- szSrc$ = MAKEPATH(DEST$,"P91INIT.DLL")
- szDest$ = MAKEPATH(ShareDir,"P91INIT.DLL")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
-
- '' if installing for Tornado Media - 2M , then rename the corresponding
- '' 2 Mbyte version files to the correct name
- IF (MEDIA%) THEN
- szDest$ = MAKEPATH(DEST$,"p9x00res.ini")
- IF DoesFileExist(szDest$,femExists) THEN
- RemoveFile szDest$,cmoForce
- END IF
- szDest$ = MAKEPATH(DEST$,"p9x00res.dat")
- IF DoesFileExist(szDest$,femExists) THEN
- RemoveFile szDest$,cmoForce
- END IF
- szDest$ = MAKEPATH(DEST$,"oemsetup.inf")
- IF DoesFileExist(szDest$,femExists) THEN
- RemoveFile szDest$,cmoForce
- END IF
- szSrc$ = MAKEPATH(DEST$,"P9XINI.TM2")
- szDest$ = "P9x00RES.INI"
- RenameFile szSrc$,szDest$
- szSrc$ = MAKEPATH(DEST$,"P9XDAT.TM2")
- szDest$ = "P9x00RES.DAT"
- RenameFile szSrc$,szDest$
- szSrc$ = MAKEPATH(DEST$,"oemsetup.TM2")
- szDest$ = "oemsetup.inf"
- RenameFile szSrc$,szDest$
- END IF
- szSrc$ = MAKEPATH(DEST$,"P9x00RES.DAT")
- szDest$ = MAKEPATH(szWinDir,"P9x00RES.DAT")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- szSrc$ = MAKEPATH(DEST$,"P9x00res.ini")
- szDest$ = MAKEPATH(szWinDir,"P9x00RES.ini")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- szSrc$ = MAKEPATH(DEST$,"copro.ini")
- szDest$ = MAKEPATH(szWinDir,"copro.ini")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
-
- '' If user does not have the font files installed already,
- '' do it now
- szDest$ = MAKEPATH(ShareDir,"cga40850.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"cga40850.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"cga40woa.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"cga40woa.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"cga80850.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"cga80850.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"cga80woa.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"cga80woa.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
-
- szDest$ = MAKEPATH(ShareDir,"ega40850.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"ega40850.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"ega40woa.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"ega40woa.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"ega80850.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"ega80850.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"ega80woa.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"ega80woa.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
-
- szDest$ = MAKEPATH(ShareDir,"8514sys.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"8514sys.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"8514fix.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"8514fix.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"8514oem.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"8514oem.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"sseriff.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"sseriff.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"seriff.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"seriff.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"courf.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"courf.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"symbolf.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"symbolf.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"smallf.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"smallf.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"roman.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"roman.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"script.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"script.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
- szDest$ = MAKEPATH(ShareDir,"modern.fon")
- IF DoesFileExist(szDest$,femExists) THEN
- szSrc$ = MAKEPATH(DEST$,"modern.fon")
- CopyFile szSrc$,szDest$,cmoOverwrite,0
- END IF
-
- '*************************************************************************
- ' Save original ini files
- '*************************************************************************
- szSrc$ = MAKEPATH(szWinDir,"system.ini")
- szDest$ = MAKEPATH(DEST$,"system.sav")
- CopyFile szSrc$,szDest$,cmoNone,0
- szSrc$ = MAKEPATH(szWinDir,"win.ini")
- szDest$ = MAKEPATH(DEST$,"win.sav")
- CopyFile szSrc$,szDest$,cmoNone,0
- '' Create section in system.ini for p9100 windows driver
- szSrc$ = MAKEPATH(szWinDir,"system.ini")
- CreateIniKeyValue szSrc$,"P9100.DRV","Resolution","640x480",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Refresh","60Hz",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Font","small",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Cursors","32",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","DevBits","On",cmoOverwrite
- IF (Is48MHzVersion=1) THEN
- CreateIniKeyValue szSrc$,"P9100.DRV","MemClkInDecaKHz","4800",cmoOverwrite
- ELSE
- CreateIniKeyValue szSrc$,"P9100.DRV","MemClkInDecaKHz","5000",cmoOverwrite
- END IF
- CreateIniKeyValue szSrc$,"P9100.DRV","BusType","PCI",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","BoardType","VesaHigh",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","MemAddr","",cmoNone
- CreateIniKeyValue szSrc$,"P9100.DRV","wBase","",cmoNone
- IF (MEDIA%) THEN
- CreateIniKeyValue szSrc$,"P9100.DRV","MemSize","2",cmoOverwrite
- ELSE
- CreateIniKeyValue szSrc$,"P9100.DRV","MemSize","4",cmoOverwrite
- END IF
- CreateIniKeyValue szSrc$,"P9100.DRV","Palette","Standard",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","DacType","IBMRGB525",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","CursorUpdate","Off",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Cursor","Power",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Speed","33.00mHz",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Monitor","VESA",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","DefMode","640x480x8",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","CfgBA","9100",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","OEMString","DATAPATH",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Manufacturer","DATAPATH",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","Version","1.0",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","TmgFileName","P9X00RES.INI",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","ClockType","TinCan",cmoOverwrite
- CreateIniKeyValue szSrc$,"P9100.DRV","IBM525PLL","ON",cmoOverwrite
- '' Only create section for dci if vcpdci.drv in system
- szDest$ = MAKEPATH(ShareDir,"vcpdci.drv")
- IF DoesFileExist(szDest$,femExists) THEN
- CreateIniKeyValue szSrc$,"drivers","dci","vcpdci",cmoOverwrite
- END IF
-
- 'If installing video power support for Video For Windows then modify the ini files
- IF (INSTVP%) THEN
- CreateIniKeyValue szSrc$,"drivers","vids.draw","udh.dll",cmoOverwrite
- CreateIniKeyValue szSrc$,"drivers","vidc.iv32","ir32.dll",cmoOverwrite
- CreateIniKeyValue szSrc$,"drivers","vidc.iv31","ir32.dll",cmoOverwrite
-
- szSrc$ = MAKEPATH(szWinDir,"copro.ini")
- CreateIniKeyValue szSrc$,"VCP","VCPEnable","ON",cmoOverwrite
- END IF
-
- END SUB
-
-
- '**
- '** Purpose:
- '** Appends a file name to the end of a directory path,
- '** inserting a backslash character as needed.
- '** Arguments:
- '** szDir$ - full directory path (with optional ending "\")
- '** szFile$ - filename to append to directory
- '** Returns:
- '** Resulting fully qualified path name.
- '*************************************************************************
- FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
- IF szDir$ = "" THEN
- MakePath = szFile$
- ELSEIF szFile$ = "" THEN
- MakePath = szDir$
- ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
- MakePath = szDir$ + szFile$
- ELSE
- MakePath = szDir$ + "\" + szFile$
- END IF
- END FUNCTION
-
-